package niuke;

/**
 * description:
 * author:zt
 * date:2021-08-11
 */

/**
 * 给定一个十进制数 M ，以及需要转换的进制数 N 。将十进制数 M 转化为 N 进制数。
 *
 * 当 N 大于 10 以后， 应在结果中使用大写字母表示大于 10 的一位，如 'A' 表示此位为 10 ， 'B' 表示此位为 11 。
 *
 * 若 M 为负数，应在结果中保留负号。
 * M是32位整数，2<=N<=16.
 */
public class NC112 {
    public String solve (int M, int N) {
        // write code here
        char[] find = new char[]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
        if (M==0) return "0";
        StringBuilder sb = new StringBuilder();
        while (M!=0){
            int tmp = M%N;
            sb.append(find[tmp]);
            M /= N;
        }
        if (M<0) sb.append("-");
        return sb.reverse().toString();
    }
}
